作者:穿靴子的猫 | 来源:互联网 | 2023-10-12 16:12
篇首语:本文由编程笔记#小编为大家整理,主要介绍了在线问题反馈模块实战:封装通用字段类相关的知识,希望对你有一定的参考价值。
👨🎓作者:bug菌
✏️博客:CSDN、掘金等
💌公众号:猿圈奇妙屋
🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。
🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系bug菌处理。
【开发云】年年都是折扣价,不用四处薅羊毛 一、前言🔥 接下来的这几期,bug菌想跟大家分享一下自己昨天刚接到一个临时的需求,热乎着呢,想分享一下自己是如何面对临时需求并制定整个开发周期,其中包括从梳理业务到创建业务表再到实现业务逻辑形成闭环再到与前端对接,其中会穿插一些业务拓展及功能性拓展,这一条龙流程在线与大家一起见证,分享给刚入门的小伙伴,希望对你们有所帮助。
环境说明: idea2019.3 + springboot2.3.1.REALSE + mybati-plus3.2.0 + mysql 5.6 + jdk1.8
若小伙伴们在批阅文章的过程中觉得文章对您有一丝丝帮助,还请别吝啬您手里的赞呀,大胆的把文章点亮 👍吧,您的点赞三连(收藏⭐️+关注👨🎓+留言 📃)就是对bug菌我创作道路上最好的鼓励与支持😘。时光不弃🏃🏻♀️,创作不停💕,加油☘️
二、正文🔥 接下来,想请大家思考个问题,对于整个项目的业务表,不知道你们有咩有发现一件事,就是很多表都会带有几个字段,所谓的万油精字段,那我们何不封装成一个通用实体呢?对不对,为了减少冗余代码,增强代码质量。所以我直接将所有表中通用字段都统计了一遍,却发现有一部分字段每张表基本都涉及,比如uuid,creator、updator、create_time及update_time,总共将近20张表,其中这些字段在14张表中是有完整出现的,所以,猜猜我接下来要干嘛?
对的,被你们猜对了,第一步可以将这些通用字段都抽取出来,我这就直接将该通用字段抽到一个新实体中,且命名为:BaseEntity.java。
具体添加大家可以看我这里:
BaseEntity.java
/** * entity父类重写toString方法,让对象输出时为json * * @Author luoYong * @Date 2021-06-01 13:00 */ @Data @ApiModel(value = "实体基础信息", description = "实体基础信息") public class BaseEntity implements Serializable private static final long serialVersionUID = 1L; private String id; protected Date createTime; protected String createBy; protected Date updateTime; protected String updateBy;
所以对于带有这些字段的实体,我们就可以直接继承BaseEntity即可。比如:
public class SysUserEntity extends BaseEntity implements Serializable
public class SysRoleEntity extends BaseEntity implements Serializable
其实这也是为了我们接下来教大家的一种拓展。对于这部分通用字段的内容填充,在日常的增删改过程中,赋值逻辑,代码是不是大量重复了,对吧,你们仔细想想,是不是这部分字段赋值逻辑都是一模一样的,获取登录人信息设置创建人,修改人,然后new Date()获取系统时间。那我们对这一块是不是封装一个工具类统一处理呢?就跟我们处理通用字段一样。
那么大家有考虑怎么实现吗?有小伙伴就会说实现方式很多呀,比如封装一个专门赋值的工具类,说到底还是要你去做这部分的赋值,只是说需要你手动加的代码少了而已,虽然也可以,但是不够优雅,还有没有更优雅的方式,有!使用aop切面请求,在调用insert或update时,获取实体然后将通用字段信息赋值,这是最开始的玩法,但是现在啊,我不教学你那么复杂的实现方式,重复造轮子不好玩,我要的是你们能现学现用,而这一期的内容,我打算放在下期进行教学,敬请期待呀。
... ...
好啦,以上就是这期的所有内容啦,你们学废了么?如果对你有所帮助,还请不要忘记给bug菌[三连支持]哟。如果想获得更多的学习资源或者想和更多的技术爱好者一起交流,可以关注我的公众号『猿圈奇妙屋』,后台回复关键词领取学习资料、大厂面经、面试模板等海量资源,就等你来拿。
三、往期热文推荐🔥 对于问题反馈模块实战开发,我完整的梳理了每一期的教学及链接地址,仅供参考:希望能对你们有所帮助。
在线问题反馈模块实战(一):梳理业务需求并创建数据库表 在线问题反馈模块实战(二):封装代码自动生成类文件器 在线问题反馈模块实战(三):自动生成所有Controller、Service、Mapper等文件 在线问题反馈模块实战(四):封装通用字段类 在线问题反馈模块实战(五):实现对通用字段内容自动填充功能 在线问题反馈模块实战(六):接口文档定义 在线问题反馈模块实战(七):安装部署swagger2 在线问题反馈模块实战(八):实现图片上传功能-上篇 在线问题反馈模块实战(九):实现图片上传功能-下篇 在线问题反馈模块实战(十):实现图片预览功能 在线问题反馈模块实战(十一):实现图片下载功能 在线问题反馈模块实战(十二):实现图片删除功能 在线问题反馈模块实战(十三):实现多参数分页查询列表 在线问题反馈模块实战(十四):实现在线答疑功能 在线问题反馈模块实战(十五):实现在线更新反馈状态功能 在线问题反馈模块实战(十六):实现查详情功能 在线问题反馈模块实战(十七):实现excel模板在线下载功能 在线问题反馈模块实战(十八):实现excel台账文件记录批量导入功能 在线问题反馈模块实战(十九):实现数据批量导出到excel文件中功能 在线问题反馈模块实战(二十):完结篇 如上是整整二十期内容,每一期都是干货,对于一个模块的开发,如何一点一滴打造并测试部署上线,我再说一遍,这不是演习,是实战!是实战!是实战!
若你们觉得只是需要了解其中某个知识点或者业务的话,也不反对,你就选择其中的几期进行学习就好,反正都已经完结啦;我只希望你们能有所收获,有所成长,也就不枉我苦心每天下班后给大家总结更新。
四、文末🔥 如果你还想要学习更多,小伙伴们大可关注bug菌专门为你们创建的专栏《springboot零基础入门教学》,都是我一手打下的江山,持续更新中,希望能帮助到更多小伙伴们。
【开发云】年年都是折扣价,不用四处薅羊毛 我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!
最后送大家两句我很喜欢的话,与诸君共勉!
☘️做你想做的人,没有时间限制,只要愿意,什么时候都可以start。
🍀你能从现在开始改变,也可以一成不变,这件事,没有规矩可言,你可以活出最精彩的自己。
💌如果文章对您有所帮助,就请留下您的赞 吧!(#^.^#);
💝如果喜欢bug菌分享的文章,就请给bug菌点个关注 吧!(๑′ᴗ‵๑)づ╭❤~;
💗如果对文章有任何疑问,还请文末留言 或者加群 吧【QQ交流群:708072830】;
💞鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复参与讨论(请勿发表攻击言论,谢谢);
💕版权声明:原创不易,转载请附上原文出处链接和本文声明,版权所有,盗版必究!!!谢谢。